package com.iceengine.j3d.objects;

/**
 *
 * @author penguin
 */
import org.lwjgl.util.vector.Vector3f;
public interface IFigure {
    /**
     * Gets a vertex at a given position in ArrayList.
     * @param id Position in ArrayList.
     * @return The vertex with the position id in ArrayList.
     */
    public Vertex getVertex(int id);
    /**
     * Sets a vertex at a given position in ArrayList.
     * @param id Position in ArrayList.
     * @param theVertex The vertex to set at the position id.
     */
    public void setVertex(int id, Vertex theVertex);
    /**
     * Draws the figure.
     */
    public void DrawObject();
    /**
     * Sets the rotation of the figure.
     * @param rotation Rotation to set.
     */
    public void setRotation(Vector3f rotation);

    /**
     * Generates the object's displaylist.
     */
    public void genObject();

    /**
     * Clones the Object
     * @return Cloned Object
     */
    public IFigure cloneMe();
}
